package com.zretc.emptraining.service;

import java.util.List;

import com.zretc.emptraining.dbtools.PageData;
import com.zretc.emptraining.entity.Emp;

public interface EmpService {
	/**
	 * 添加方法
	 * @param emp
	 * @return
	 */
	public boolean addEmp(Emp emp); 
	/**
	 * 删除方法
	 * @param empno
	 * @return
	 */
	public boolean delEmp(int empno);
	/**
	 * 修改方法 改信息
	 * @param emp
	 * @return
	 */
	public boolean updEmp(Emp emp);
	/**
	 * 修改方法 改照片
	 * @param empNo
	 * @param empPic
	 * @return
	 */
	public boolean updEmpPic(int empNo, String empPic);
	/**
	 * 分页方法
	 * @param page
	 * @param pageSize
	 * @param keywords
	 * @return
	 */
	public PageData<Emp> getEmpByPage(int page, int pageSize, String keywords);

	// 分页 根据员工编号
	public PageData<Emp> getEmpByPageEmpNo(int page, int pageSize, String keywords);

	// 分页 员工部门
	public PageData<Emp> getEmpByPageDeptName(int page, int pageSize, String keywords);

	// 分页 员工学历
	public PageData<Emp> getEmpByPageEmpXl(int page, int pageSize, String keywords);

	// 分页 员工性别
	public PageData<Emp> getEmpByPageEmpSex(int page, int pageSize, String keywords);

	// 分页 员工职位
	public PageData<Emp> getEmpByPageEmpJob(int page, int pageSize, String keywords);
	/**
	 * 根据员工编号精确查询
	 * @param empNo
	 * @return
	 */
	public List<Emp> getEmpByEmpno(int empNo); 
	/**
	 * 根据电话查员工编号
	 * @param empTel
	 * @return
	 */
	public int getEmpnoByEmptel(String empTel);
	/**
	 * 查询全部员工
	 * @return
	 */
	public List<Emp> getEmp();
	/**
	 * 修改员工部门及职位 --- 部门表修改时
	 * @param empNo
	 * @param deptNo
	 * @param empJob
	 * @return
	 */
	public boolean updEmpDeptJob(int empNo, int deptNo, String empJob);
	/**
	 * 前台员工修改部分信息 通过名字
	 * @param empName
	 * @param empAddress
	 * @param empEmail
	 * @param empPic
	 * @return
	 */
	public boolean updEmp(String empName, String empAddress, String empEmail, String empPic);
	/**
	 * 判断是否重复存在方法
	 * @param typename
	 * @return
	 */
	public Emp getTypeByName(String typename);
	/**
	 * 通过手机号获取员工信息
	 * @param empTel
	 * @return
	 */
	public Emp getEmpsByTel(String empTel);
	/**
	 * 通过名字查找
	 * @param empName
	 * @return
	 */
	public List<Emp> getEmpByName(String empName);
	/**
	 * 通过名字删除员工
	 * @param empName
	 * @return
	 */
	public boolean delEmpByName(String empName);
	/**
	 * 根据员工编号获取员工信息
	 * @param empNo
	 * @return
	 */
	public Emp getEmpsByNo(int empNo);
}
